package com.oplink.webems.common.snmp.base;

import java.util.List;
import java.util.Map;
import java.util.Vector;

public interface ISnmp {
	/**
	 * 获得address位置的值
	 * @param id
	 * @return
	 * @throws AppException 
	 */
	public String get(String address) throws SnmpException;
	
	/**
	 * 获得多个address位置的值
	 * @param addressList
	 * @return
	 */
	public List<String> get(List<String> addressList) throws SnmpException; 
	
	/**
	 * 获得address位置的下一个位置的值
	 * @return String[0]:下一个地址，String[1]：下一个地址上的值
	 */
	public String[] getNext(String address) throws SnmpException;
	
	/**
	 * 获得address位置后面所有值
	 * @return
	 */
	public Map<String, String> walk(String address) throws SnmpException;
	
	/**
	 * 获得table 内的所有数据
	 * @return
	 */
	public List<Vector<String>> table(String tableHeader) throws SnmpException;
	
	/**
	 * 按顺序批量设置
	 * @param params Vector[0]:oid;Vector[1]:value
	 * @return
	 */
	public List<Boolean> set(List<Vector<String>> params) throws SnmpException; 
	
	/**
	 * 单个设置
	 * @param address
	 * @param value
	 * @return
	 */
	public boolean set(String address, String value) throws SnmpException;
}
